home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 004 / mathstat.arc / REGRESS.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-03-09  |  4.6 KB  |  46 lines

  1. 10  KEY OFF:PRINT:CLS:N$="IBM PC User Group of Greater Kansas City":N2$="Keith D. Barber - Librarian":PRINT TAB(19) N$:PRINT :PRINT TAB(25) N2$:FOR T=1 TO 1000 :NEXT T:CLS:N4$="REGRESSION ANALYSES":PRINT TAB(30) N4$:PRINT
  2. 20  PRINT "This program fits a straight line, a geometric curve, and an exponential curve  to a given set of coordinates using the method of least squares.":X$=CHR$(253)
  3. 30  PRINT "The equation of each curve,the respective coefficient of determination (R ";X$;"),";"coefficient of correlation (R), and standard error of estimate are printed.":PRINT :PRINT "The form of the three equations are:" :PRINT
  4. 40  COLOR 1:PRINT "Straight Line";:COLOR 7:PRINT TAB(23);:COLOR 1:PRINT "Geometric Curve";:COLOR 7:PRINT TAB(48);:COLOR 1:PRINT "Exponential Curve":COLOR 7:PRINT " y = mx + b" TAB(26) "y = bx^m" TAB(52)"y = bm^x":DIM X(100), Y(100)
  5. 50  PRINT :INPUT "Enter date in the form of `00/00/83' ",N3$:PRINT :INPUT "Enter your initials: ",KB$:PRINT :INPUT "Enter client's name: ", N5$:PRINT :INPUT "Enter project number: ",N6$
  6. 60  PRINT :PRINT "The `X' value will represent ";:COLOR 0,7:PRINT "                                 ";:COLOR 7,0:PRINT ".":LOCATE 21,30:INPUT " ",N7$
  7. 70  PRINT :PRINT "The `Y' value will represent ";:COLOR 0,7:PRINT "                                 ";:COLOR 7,0:PRINT ".":LOCATE 23,30:INPUT " ",N8$:CLS:PRINT TAB(21) N$:PRINT TAB(26) N2$:PRINT:PRINT TAB(30) N4$:PRINT :PRINT N5$; TAB(66) "By ";KB$
  8. 80  PRINT "Project No. "; N6$; TAB(66) "Date ";N3$
  9. 85  ON ERROR GOTO 500
  10. 90  PRINT :PRINT "Total number of points =";:INPUT " ",N:SX=0:SGX=0:SY=0:SGY=0:SX2=0:SGX2=0:SY2=0:SGY2=0:SXY=0:SGXY=0:SEXY=0:R2=0::Z=0:FOR I=1 TO N:PRINT "  X,Y value of point";I;"=";:INPUT " ",X(I),Y(I):NEXT I
  11. 91  PRINT "List Data (y/n) ?"
  12. 92  C$=INKEY$:IF C$="" THEN 92
  13. 93  IF LEFT$(C$,1) ="y" OR LEFT$(C$,1) ="Y" THEN INPUT "Data Range (Point1,Point 2) ",P1,P2:CLS:PRINT ,"   I","   X","   Y":PRINT ," -----"," -----"," -----":FOR I = P1 TO P2:PRINT ," Point ";I,X(I),Y(I):NEXT I:GOTO 91
  14. 94  PRINT "Edit Data (y/n) ?"
  15. 95  C$=INKEY$:IF C$="" THEN 95
  16. 96  IF LEFT$(C$,1) ="y" OR LEFT$(C$,1) ="Y" THEN INPUT "Point Number (I) ";I:PRINT "X,Y Value of point";I;: INPUT X(I),Y(I):GOTO 91
  17. 99  FOR I=1 TO N:X=X(I):Y=Y(I):IF X>0 THEN XG=LOG(X) ELSE XG=-5
  18. 118  IF Y>0 THEN YG=LOG(Y) ELSE YG=-5
  19. 119  SX=SX+X : SGX=SGX+XG:SY=SY+Y : SGY=SGY+YG:SX2=SX2+X^2 : SGX2=SGX2+XG^2:SY2=SY2+Y^2 : SGY2=SGY2+YG^2:SXY=SXY+X*Y:SGXY=SGXY+XG*YG:SEXY=SEXY+X*YG:NEXT I:M = (N*SXY-SY*SX)/(N*SX2-SX^2):MG=(N*SGXY-SGY*SGX)/(N*SGX2-SGX^2)
  20. 120  ME=(N*SEXY-SGY*SX)/(N*SX2-SX^2):B=(SY-M*SX)/N:BG=(SGY-MG*SGX)/N:BE=(SGY-ME*SX)/N:TX=M*(SXY-SX*SY/N):TGX=MG*(SGXY-SGX*SGY/N):TEX=ME*(SEXY-SX*SGY/N):TY=SY2-SY^2/N:TGY=SGY2-SGY^2/N:K1=TY-TX : KG=TGY-TGX:KE=TGY-TEX:R2=TX/TY : RG2=TGX/TGY:RE2=TEX/TGY
  21. 124  B$=STR$(ABS(B))
  22. 125  IF SGN(B) = -1 THEN SG$=" * X -" ELSE SG$=" * X +"
  23. 130  CLS:PRINT: K=17:KB=30:PRINT TAB(KB+1) "LINEAR REGRESSION":PRINT:PRINT TAB(K+7) "Y =";M;SG$;B$:PRINT :PRINT TAB(K)"Coefficient of Determination (R ";X$;") =";R2:PRINT TAB(K)"Coefficient of Correlation (R) =";SQR(R2):PRINT
  24. 140  PRINT TAB(KB) "GEOMETRIC REGRESSION":PRINT :PRINT TAB(K+7)"Y =";EXP(BG);" * X ^";MG:PRINT :PRINT TAB(K)"Coefficient of Determination (R ";X$;") =";RG2:PRINT TAB(K)"Coefficient of Correlation (R) =";SQR(RG2):PRINT
  25. 150  PRINT TAB(KB-1) "EXPONENTIAL REGRESSION":PRINT :PRINT TAB(K+5)"Y =";EXP(BE);" *";EXP(ME);"^X":PRINT :PRINT TAB(K)"Coefficient of Determination (R ";X$;") =";RE2:PRINT TAB(K)"Coefficient of Correlation (R) =";SQR(RE2)
  26. 160  LOCATE 25,5:PRINT "PRINT OUTPUT (Y/N): "
  27. 162  A$=INKEY$:IF A$="" THEN 162
  28. 164  IF LEFT$(A$,1)="y" OR LEFT$(A$,1)="Y" THEN 250
  29. 170  LOCATE 25,5:PRINT "PRESS ANY KEY TO BEGIN INTERPOLATION. ";
  30. 180  A$=INKEY$: IF A$="" THEN 180
  31. 190  CLS:PRINT "             INTERPOLATION  (Enter X = 0 to end program)":LOCATE 5,10:PRINT ,"   X ","   Y1 ","   Yg ","   Ye ":LOCATE 6,10:PRINT ," -------"," -------"," -------"," -------"
  32. 200  LOCATE 3,35 :PRINT "                ":LOCATE 3,35:INPUT "x = ",X:IF X=0 THEN 230
  33. 210  Y1=M*X+B:YG=EXP(BG)*X^MG:YE=EXP(BE)*EXP(ME)^X:PRINT:Z=Z+1:IF Z=17 THEN Z=0:GOTO 190
  34. 220  LOCATE 7+Z,10:PRINT ,X,Y1,YG,YE:GOTO 200
  35. 230  LOCATE 9+Z:PRINT "        Analyze more data (y/n)"
  36. 234  A$=INKEY$: IF A$="" THEN 234
  37. 236  IF LEFT$(A$,1)="y" OR LEFT$(A$,1)="Y" THEN CLS:GOTO 90
  38. 240  LOAD"menu",R
  39. 250  WIDTH "lpt1:",132:LPRINT CHR$(15):GOSUB 300:LPRINT :LPRINT:LPRINT TAB(35)"Point" TAB(55) "X Value (a)"TAB(75)"Y Value (b)":LPRINT TAB(34)"-------" TAB(54) "-------------"TAB(74)"-------------":FOR I=1 TO N
  40. 260  LPRINT TAB(33);I;TAB(60);X(I);TAB(80);Y(I):NEXT I:LPRINT:LPRINT TAB(35)"(a) The `X' value represents ";N7$;".":LPRINT TAB(35)"(b) The `Y' value represents ";N8$;".":IF N>24 THEN LPRINT CHR$(12): GOSUB 300
  41. 270  LPRINT :LPRINT:K=43:KB=56:LPRINT TAB(KB+1) "LINEAR REGRESSION":LPRINT:LPRINT TAB(K+7) "Y =";M;SG$;B$:LPRINT :LPRINT TAB(K)"Coefficient of Determination (R2) =";R2:LPRINT TAB(K)"Coefficient of Correlation (R) =";SQR(R2):LPRINT
  42. 280  LPRINT TAB(KB) "GEOMETRIC REGRESSION":LPRINT :LPRINT TAB(K+7)"Y =";EXP(BG);" * X ^";MG:LPRINT :LPRINT TAB(K)"Coefficient of Determination (R2) =";RG2:LPRINT TAB(K)"Coefficient of Correlation (R) =";SQR(RG2):LPRINT
  43. 290  LPRINT TAB(KB-1) "EXPONENTIAL REGRESSION":LPRINT :LPRINT TAB(K+5)"Y =";EXP(BE);" *";EXP(ME);" ^X":LPRINT :LPRINT TAB(K)"Coefficient of Determination (R2) =";RE2:LPRINT TAB(K)"Coefficient of Correlation (R) =";SQR(RE2):LPRINT CHR$(12):GOTO 170
  44. 300  LPRINT TAB(47) N$:LPRINT TAB(52) N2$:LPRINT:LPRINT TAB(56) N4$:LPRINT :LPRINT TAB(13); N5$; TAB(105) "By ";KB$:LPRINT TAB(13) "Project No. "; N6$; TAB(105) "Date ";N3$:RETURN
  45. 500  IF ERR=27 OR ERR=25 THEN PLAY"T110L8MSD4MNO3GABO4CD4O3MSG4MNG4O4MSE4MNCDEF#G4O3MSG4MNG4MSO4C4MNDCO3BAMSB4MN04CO3BAG":PRINT "TURN PRINTER ON":RESUME 250
  46.